<!DOCTYPE html>
<html lang="zh" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>VUE初见</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
    {{ message }}
</div>
<div id="app-2">
    <span v-bind:title="message">
        2.鼠标悬停几秒钟查看此处动态绑定的提示信息！
    </span>
</div>
<div id="app-3">
    <p v-if="seen">3.现在你看到我了</p>
</div>
<div id="app-4">
    {{ message }}
    <ol>
        <li v-for="todo in todos">

            {{ todo.text }}
        </li>
    </ol>
</div>
<div id="app-5">
    <p>{{ message }}</p>
    <button v-on:click="reverseMessage">5.逆转消息</button>
</div>
<div id="app-6">
    <p>{{ message }}</p>
    <input v-model="message">
</div>
<ol>
    <!-- 创建一个 todo-item 组件的实例 -->
    <todo-item></todo-item>
</ol>

<script language="JavaScript">

    /**
     * 1.声明式渲染:绑定
     * @type {Vue}
     */
    var app = new Vue({
        el: '#app',
        data: {
            message: 'Hello World!'
        }
    })
    app.message = "1.声明式渲染。Oh,No!";

    /**
     * 2.声明式渲染:悬停
     * @type {Vue}
     */
    var app2 = new Vue({
        el: '#app-2',
        data: {
            message: '页面加载于' + new Date().toLocaleDateString()
        }
    })
    /**
     * 3.条件与循环:条件
     * @type {Vue}
     */
    var app3 = new Vue({
        el: '#app-3',
        data: {
            seen: true
        }
    })
    /**
     * 4.条件与循环:循环
     * @type {Vue}
     */
    var app4 = new Vue({
        el: '#app-4',
        data: {
            todos: [
                { text: '学习 JavaScript' },
                { text: '学习 Vue' },
                { text: '整个牛项目' }
            ],
            message:'4.循环'
        }
    })
    /**
     * 5.处理用户输入:反转事件
     * @type {Vue}
     */
    var app5 = new Vue({
        el: '#app-5',
        data: {
            message: 'Hello Vue.js!'
        },
        methods: {
            reverseMessage: function () {
                this.message = this.message.split('').reverse().join('')
            }
        }
    })

    /**
     * 6.处理用户输入：输入框
     * @type {Vue}
     */
    var app6 = new Vue({
        el: '#app-6',
        data: {
            message: 'Hello Vue!'
        }
    })

    /**
     * 7.组件化
     */
    // 定义名为 todo-item 的新组件
    Vue.component('todo-item', {
        template: '<li>这是个待办项</li>'
    })


</script>
</body>
</html>